Сегодня мне говорили, что одну функцию очень сложно разбить. Ну очень она сложная. Поэтому, понятно, там периодически валится эксепшен. В качестве борьбы даже предложили всё поупихивать во вложенные try-catch (которые будут вложены во вложенные for и if).
Послал, стал разбираться.
(
Заценить перл )